# -*- coding: utf-8 -*-
import numpy as np
# from  sklearn.preprocessing import Imputer
from sklearn.impute import SimpleImputer

#读入数据集
filename='./data/Wine.csv'
data=np.loadtxt(open(filename,"rb"),delimiter=",",skiprows=0)    # CSV文件通常使用逗号作为字段分隔符，不跳过任何行（从第一行开始读取）
data=data[:,:].astype(float)          # 将这些列转换为float

#随机产生缺失值
# 创建一个与data数组形状相同的布尔型遮罩数组，其中True的概率为25%
masking_array=np.random.binomial(1,0.25,data.shape).astype(bool)
# 使用遮罩数组将data数组中对应位置的值设置为np.nan，以模拟缺失值
data[masking_array]=np.nan
np.savetxt('./data/missing.csv', data, delimiter = ',')

#插补调用
# 创建一个SimpleImputer实例，用于使用中位数插补缺失值
impute=SimpleImputer(strategy='median')
# 对data数组进行拟合和转换，以填充缺失值
data_prime=impute.fit_transform(data)
np.savetxt('./data/missing_filled.csv', data_prime, delimiter = ',')